import Vue from 'vue'
import toast from './index.vue'
const toastmsg = Vue.extend(toast)
let instances = []
let seed = 1
function messageFun(obj) {
	if(typeof obj == 'string'){
		obj = {message:obj,type:'normal'}
	}
	let { message, type, duration } = obj
	const messageDom = new toastmsg({
		el: document.createElement('div'),
		data() {
			return {
				message: message,
				type: type,
			}
		},
	})
	let id = 'lkc_toast_' + seed++
	document.body.appendChild(messageDom.$el)
	messageDom.id = id
	// instances.forEach(item => {
	// 	styleTop += item.$el.offsetHeight + 16
	// })
	// messageDom.styleTop = styleTop
	messageDom.show()
	instances.push(messageDom)
	// 过了 duration 时间后隐藏
	duration = duration ? duration : 2000
	setTimeout(() => {
		messageDom.hide()
		let index = instances.findIndex(e => e.id === messageDom.id)
		// let len = instances.length
		// let removedHeight = messageDom.$el.offsetHeight
		// if (len > 1) {
		// 	for (let i = index; i < len; i++) {
		// 		let dom = instances[i].$el
		// 		dom.style['top'] = parseInt(dom.style['top'], 10) - removedHeight - 16 + 'px'
		// 	}
		// }
		instances.splice(index, 1)
	}, duration)
}
function fntoast() {
	window.$toast = Vue.prototype.$toast = messageFun
}
export default fntoast